/*
 * Copyright (c) 2016 zhangcm. All Rights Reserved.
 */
package com.jnzc.ocr.dependencies.serv.mybatis;

import com.jnzc.ocr.common.bean.PageResult;
import com.jnzc.ocr.dependencies.serv.bean.BaseFilter;
import java.util.List;

/**
 * @author zhangcm
 * @version 1.0, 2017/10/1
 */
public interface MybatisService<T, F extends BaseFilter> {

    T find(F filter);

    T findNotNull(F filter);

    PageResult<T> search(F filter, Integer pageNo, Integer pageSize);

    List<T> list(F filter);

    T save(T obj);

    void saveList(List<T> list);

    void insertOne(T obj);

    void insertList(List<T> list);

    void updateOne(T obj);

    void updateList(List<T> list);

    void delete(F filter);
}
